package com.lxmes.business.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 临时采购计划对象 zc_temporary_purchase_plan
 *
 * @author lx
 * @date 2023-06-27
 */
@ApiModel(value = "ZcTemporaryPurchasePlan", description = "临时采购计划对象")
public class ZcTemporaryPurchasePlan extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增长ID */
    @ApiModelProperty("自增长ID")
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    @ApiModelProperty("公司代码")
    private String companyCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    @ApiModelProperty("公司名称")
    private String companyName;

    /** 采购单号 */
    @Excel(name = "采购单号")
    @ApiModelProperty("采购单号")
    private String purchaseOrderNo;

    /** 采购单位 */
    @Excel(name = "采购单位")
    @ApiModelProperty("采购单位")
    private String purchaser;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String materialName;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String materialNo;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String specification;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /** 订单号 */
    @Excel(name = "订单号")
    @ApiModelProperty("订单号")
    private String orderNo;

    /** 订单数量 */
    @Excel(name = "订单数量")
    @ApiModelProperty("订单数量")
    private BigDecimal orderQuantity;

    /** 采购数量 */
    @Excel(name = "采购数量")
    @ApiModelProperty("采购数量")
    private BigDecimal purchasedQuantity;

    /** 图片 */
    @Excel(name = "图片")
    @ApiModelProperty("图片")
    private String attachment1;

    /** 语音 */
    @Excel(name = "语音")
    @ApiModelProperty("语音")
    private String attachment2;

    /** 申请人 */
    @Excel(name = "申请人")
    @ApiModelProperty("申请人")
    private String applicant;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("申请日期")
    private Date applicationDate;

    /** 审核人 */
    @Excel(name = "审核人")
    @ApiModelProperty("审核人")
    private String approver;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("审核日期")
    private Date approvalDate;
    /** 部门数据隔离代码 */
    private Long deptId;
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setCompanyCode(String companyCode)
    {
        this.companyCode = companyCode;
    }

    public String getCompanyCode()
    {
        return companyCode;
    }
    public void setCompanyName(String companyName)
    {
        this.companyName = companyName;
    }

    public String getCompanyName()
    {
        return companyName;
    }
    public void setPurchaseOrderNo(String purchaseOrderNo)
    {
        this.purchaseOrderNo = purchaseOrderNo;
    }

    public String getPurchaseOrderNo()
    {
        return purchaseOrderNo;
    }
    public void setPurchaser(String purchaser)
    {
        this.purchaser = purchaser;
    }

    public String getPurchaser()
    {
        return purchaser;
    }
    public void setMaterialName(String materialName)
    {
        this.materialName = materialName;
    }

    public String getMaterialName()
    {
        return materialName;
    }
    public void setMaterialNo(String materialNo)
    {
        this.materialNo = materialNo;
    }

    public String getMaterialNo()
    {
        return materialNo;
    }
    public void setSpecification(String specification)
    {
        this.specification = specification;
    }

    public String getSpecification()
    {
        return specification;
    }
    public void setUnit(String unit)
    {
        this.unit = unit;
    }

    public String getUnit()
    {
        return unit;
    }
    public void setOrderNo(String orderNo)
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo()
    {
        return orderNo;
    }
    public void setOrderQuantity(BigDecimal orderQuantity)
    {
        this.orderQuantity = orderQuantity;
    }

    public BigDecimal getOrderQuantity()
    {
        return orderQuantity;
    }
    public void setPurchasedQuantity(BigDecimal purchasedQuantity)
    {
        this.purchasedQuantity = purchasedQuantity;
    }

    public BigDecimal getPurchasedQuantity()
    {
        return purchasedQuantity;
    }
    public void setAttachment1(String attachment1)
    {
        this.attachment1 = attachment1;
    }

    public String getAttachment1()
    {
        return attachment1;
    }
    public void setAttachment2(String attachment2)
    {
        this.attachment2 = attachment2;
    }

    public String getAttachment2()
    {
        return attachment2;
    }
    public void setApplicant(String applicant)
    {
        this.applicant = applicant;
    }

    public String getApplicant()
    {
        return applicant;
    }
    public void setApplicationDate(Date applicationDate)
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate()
    {
        return applicationDate;
    }
    public void setApprover(String approver)
    {
        this.approver = approver;
    }

    public String getApprover()
    {
        return approver;
    }
    public void setApprovalDate(Date approvalDate)
    {
        this.approvalDate = approvalDate;
    }

    public Date getApprovalDate()
    {
        return approvalDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("companyCode", getCompanyCode())
                .append("companyName", getCompanyName())
                .append("purchaseOrderNo", getPurchaseOrderNo())
                .append("purchaser", getPurchaser())
                .append("materialName", getMaterialName())
                .append("materialNo", getMaterialNo())
                .append("specification", getSpecification())
                .append("unit", getUnit())
                .append("orderNo", getOrderNo())
                .append("orderQuantity", getOrderQuantity())
                .append("purchasedQuantity", getPurchasedQuantity())
                .append("attachment1", getAttachment1())
                .append("attachment2", getAttachment2())
                .append("applicant", getApplicant())
                .append("applicationDate", getApplicationDate())
                .append("approver", getApprover())
                .append("approvalDate", getApprovalDate())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
